package com.mycompany.projektjava;

import java.util.List;

/**
 *
 * @author Ondřej Myška
 * 
 */
public interface CompanyDAO {

    
     /**
     * Vytvoří v databázi nový záznam firmy.
     * @param company instance firmy, která bude uložena do databáze 
     * 
     */
    public void create(Company company);
  

    /**
     * Odstraní firmu z databáze, pokud firma v databázi neexistuje, metoda 
     * se neprovede.
     * @param company Firma určená ke smazání.
     */
    public void remove(Company company);
    
    /**
     * Aktualizuje záznam firmy v databázi 
     * @param company Instance firmy s aktualizovanými údaji. 
     * 
     */
    public void update(Company company);

    /**
     * Prohledá databázi firem a pokud se firma nachází v databázi, 
     * vrátí její instanci. 
     * @param id id firmy.
     * @return instance Company, pokud se firma nachází v databázi, jinak null
     */
    public Company find(Long id);
    
    
    /**
     * Vrátí všechny firmy uložené v databázi.
     * @return List<Company>, pokud jsou v databáti údaje, jinak null 
     */
    public List<Company> findAll();
    
    
    
    
}
